The disclosure relates generally to electronic devices and more particularly to methods and apparatus for controlling energy consumption of an electronic device.
Runtime management solutions that control energy consumption are used in electronic devices in an attempt to assist in managing battery capacity of the electronic devices. Some existing solutions cause the electronic device to consume less energy when the battery level is low. Thus, an existing solution may reduce the activity of clients and/or applications running on the electronic device when the battery level drops below a certain percentage, with 100 percent corresponding to a fully-charged battery. This solution may turn off animations, vibrations of the electronic device that would otherwise occur in cases such as receipt of an incoming call, and dim the display screen of the electronic device. Another solution reduces or limits the performance state (“P-State”) of a central processing unit (CPU) by limiting the CPU operating frequency and/or voltage in response to a low battery level or a thermal emergency.
Additional known solutions control activity initiated by a server. The server is made aware of an electronic device's residual battery level, estimated rate of energy consumption, and/or thermal information to make decisions regarding the features and/or quality of content to push to the electronic device. When the electronic device's battery level is low, advanced features can be disabled, quality of pushed content can be degraded, and/or the server may cause some computing functions to be shifted from the electronic device to the server. In some cases, the electronic device is also able to control shifting of computing functions to the server.
Reducing activity of clients and/or applications running on an electronic device, turning features off, reducing or limiting a P-state of an electronic device, disabling advanced features, and shifting computing operations to a server each degrade the experience of a user of the electronic device. While battery size may be increased and processing cores with lower power specifications, such as lower-power CPU cores, may be used in an effort to combat these problems, these approaches are unacceptable in devices with certain size and profile requirements and in devices that require the ability to support certain advanced applications and features.